package com.producteev4j.services.version0;

import com.producteev4j.transport.ProducteevTransport;
import com.producteev4j.exceptions.ProducteevException;
import com.producteev4j.model.response.User;
import com.producteev4j.model.response.UserLogin;
import com.producteev4j.model.response.UserWrapper;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: jcarrey
 * Date: 16/05/11
 * Time: 22:33
 * To change this template use File | Settings | File Templates.
 */
public interface ProducteevUserService {
    UserLogin userLogin(ProducteevTransport transport, String email, String password) throws ProducteevException;

    User getUser(ProducteevTransport transport, String userToken, String idCollegue) throws ProducteevException;

    UserLogin userLoginFacebook(ProducteevTransport transport, long facebookId, String facebookAccessToken) throws ProducteevException;

    User setDefaultDashboard(ProducteevTransport transport, String userToken, long idDashboard) throws ProducteevException;

    List<? extends UserWrapper> getColleagues(ProducteevTransport transport, String userToken) throws ProducteevException;


    User signupUser(ProducteevTransport transport,
                    String firstName, String lastName, String password, String email,
                    String timeZone, Long fbuid) throws ProducteevException;

    User setSortByType(ProducteevTransport transport, String userToken, int sortByType) throws ProducteevException;

}
